home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / PInterfaces / VideoServices.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  4.0 KB  |  138 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        VideoServices.p
  3.  
  4.      Contains:    Video Services Library Interfaces.
  5.  
  6.      Version:    Technology:    PowerSurge 1.0.2
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT VideoServices;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __VIDEOSERVICES__}
  27. {$SETC __VIDEOSERVICES__ := 1}
  28.  
  29. {$I+}
  30. {$SETC VideoServicesIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __MACTYPES__}
  34. {$I MacTypes.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __NAMEREGISTRY__}
  37. {$I NameRegistry.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __QUICKDRAW__}
  40. {$I Quickdraw.p}
  41. {$ENDC}
  42.  
  43.  
  44. {$PUSH}
  45. {$ALIGN MAC68K}
  46. {$LibExport+}
  47.  
  48.  
  49. CONST
  50.     kTransparentEncoding        = 0;
  51.     kInvertingEncoding            = 1;
  52.  
  53.     kTransparentEncodingShift    = $00;
  54.     kTransparentEncodedPixel    = $01;
  55.     kInvertingEncodingShift        = $02;
  56.     kInvertingEncodedPixel        = $04;
  57.  
  58.  
  59.  
  60.  
  61.     kHardwareCursorDescriptorMajorVersion = $0001;
  62.     kHardwareCursorDescriptorMinorVersion = $0000;
  63.  
  64.  
  65. TYPE
  66.     UInt32Ptr                            = ^UInt32;
  67.     HardwareCursorDescriptorRecPtr = ^HardwareCursorDescriptorRec;
  68.     HardwareCursorDescriptorRec = RECORD
  69.         majorVersion:            UInt16;
  70.         minorVersion:            UInt16;
  71.         height:                    UInt32;
  72.         width:                    UInt32;
  73.         bitDepth:                UInt32;
  74.         maskBitDepth:            UInt32;
  75.         numColors:                UInt32;
  76.         colorEncodings:            UInt32Ptr;
  77.         flags:                    UInt32;
  78.         supportedSpecialEncodings: UInt32;
  79.         specialEncodings:        ARRAY [0..15] OF UInt32;
  80.     END;
  81.  
  82.     HardwareCursorDescriptorPtr            = ^HardwareCursorDescriptorRec;
  83.  
  84. CONST
  85.     kHardwareCursorInfoMajorVersion = $0001;
  86.     kHardwareCursorInfoMinorVersion = $0000;
  87.  
  88.  
  89. TYPE
  90.     HardwareCursorInfoRecPtr = ^HardwareCursorInfoRec;
  91.     HardwareCursorInfoRec = RECORD
  92.         majorVersion:            UInt16;                                    {  Test tool should check for kHardwareCursorInfoMajorVersion1 }
  93.         minorVersion:            UInt16;                                    {  Test tool should check for kHardwareCursorInfoMinorVersion1 }
  94.         cursorHeight:            UInt32;
  95.         cursorWidth:            UInt32;
  96.         colorMap:                CTabPtr;                                {  nil or big enough for hardware's max colors }
  97.         hardwareCursor:            Ptr;
  98.         reserved:                ARRAY [0..5] OF UInt32;                    {  Test tool should check for 0s }
  99.     END;
  100.  
  101.     HardwareCursorInfoPtr                = ^HardwareCursorInfoRec;
  102.  
  103.  
  104. CONST
  105.     kVBLInterruptServiceType    = 'vbl ';
  106.     kHBLInterruptServiceType    = 'hbl ';
  107.     kFrameInterruptServiceType    = 'fram';
  108.     kConnectInterruptServiceType = 'dci ';                        {  Renamed -- Use kFBCheckInterruptServiceType }
  109.     kFBConnectInterruptServiceType = 'dci ';                    {  Demand to check configuration (Hardware unchanged) }
  110.     kFBChangedInterruptServiceType = 'chng';                    {  Demand to rebuild (Hardware has reinitialized on dependent change) }
  111.     kFBOfflineInterruptServiceType = 'remv';                    {  Demand to remove framebuffer (Hardware not available on dependent change -- but must not buserror) }
  112.     kFBOnlineInterruptServiceType = 'add ';                        {  Notice that hardware is available (after being removed) }
  113.  
  114.     kMaxDisplayConfigDataSize    = 64;                            {  Max data size for VSLSetDisplayConfiguration }
  115.  
  116.  
  117. TYPE
  118.     InterruptServiceType                = ResType;
  119.     InterruptServiceIDType                = UInt32;
  120.     InterruptServiceIDPtr                = ^InterruptServiceIDType;
  121. FUNCTION VSLNewInterruptService(VAR serviceDevice: RegEntryID; serviceType: InterruptServiceType; serviceID: InterruptServiceIDPtr): OSErr; C;
  122. FUNCTION VSLWaitOnInterruptService(serviceID: InterruptServiceIDType; timeout: Duration): OSErr; C;
  123. FUNCTION VSLDisposeInterruptService(serviceID: InterruptServiceIDType): OSErr; C;
  124. FUNCTION VSLDoInterruptService(serviceID: InterruptServiceIDType): OSErr; C;
  125. FUNCTION VSLPrepareCursorForHardwareCursor(cursorRef: UNIV Ptr; hardwareDescriptor: HardwareCursorDescriptorPtr; hwCursorInfo: HardwareCursorInfoPtr): BOOLEAN; C;
  126. FUNCTION VSLSetDisplayConfiguration(VAR device: RegEntryID; VAR propertyName: RegPropertyName; configData: UNIV Ptr; configDataSize: LONGINT): OSErr; C;
  127.  
  128. {$ALIGN RESET}
  129. {$POP}
  130.  
  131. {$SETC UsingIncludes := VideoServicesIncludes}
  132.  
  133. {$ENDC} {__VIDEOSERVICES__}
  134.  
  135. {$IFC NOT UsingIncludes}
  136.  END.
  137. {$ENDC}
  138.